﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Konekcija.Core.Reporting.Dto.Application.Crm;
using Konekcija.Core.Reporting.Dto.Application.Profiles;

namespace Konekcija.Core.Reporting.Dto.Application.Security
{
    public class User
    {
        public virtual Guid Id { get; set; }
        public virtual string Username { get; set; }
        public virtual string Password { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string Insertion { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Sex { get; set; }
        public virtual string StreetName { get; set; }
        public virtual string ZipCode { get; set; }
        public virtual string ZipCodeLetters { get; set; }
        public virtual string City { get; set; }
        public virtual string Province { get; set; }
        public virtual string Country { get; set; }
        public virtual string Email { get; set; }
        public virtual string Phone { get; set; }
        public virtual string Mobilenumber { get; set; }
        public virtual string Website { get; set; }
        public virtual string PhotoUrl { get; set; }
        public virtual string JobTitle { get; set; }
        public virtual string WorkExperience { get; set; }
        public virtual string CareerStatus { get; set; }
        public virtual string CareerLevel { get; set; }
        public virtual string Industry { get; set; }
        public virtual string PersonalStatement { get; set; }
        public virtual string ContactPreference { get; set; }
        public virtual bool? Active { get; set; }
        public virtual bool? Newsletter { get; set; }
        public virtual string FoundVia { get; set; }
        public virtual DateTime? DateCreated { get; set; }
        public virtual DateTime? DateChanged { get; set; }
        public virtual Guid ByUserId { get; set; }


        // security
        public virtual ICollection<Group> Groups { get; set; }

        // crm
        public virtual ICollection<Product> Products { get; set; }
        public virtual ICollection<Account> Accounts { get; set; }
        public virtual ICollection<Merchant> Merchants { get; set; }

        // profile
        public virtual ICollection<CommunicationChannel> CommunicationChannels { get; set; }
        public virtual ICollection<Feedback> Feedbacks { get; set; }
        public virtual ICollection<Notification> Notifications { get; set; }
        public virtual ICollection<Stats> Stats { get; set; }

        public User()
        {
            
        }
    }
}
